const ffmpeg = require('fluent-ffmpeg')
const { FFMPEG_PATH } = require('../config/config')

// 配置 ffmpeg 路径
ffmpeg.setFfmpegPath(FFMPEG_PATH)

/**
 * 从视频中提取音频
 * @param {string} videoPath - 视频路径
 * @param {string} outputAudioPath - 输出音频路径
 * @returns {Promise<string>} - 输出音频文件路径
 */
function extractAudio(videoPath, outputAudioPath) {
  return new Promise((resolve, reject) => {
    ffmpeg(videoPath)
      .noVideo()
      .audioCodec('pcm_s16le') // WAV
      .format('wav')
      .on('end', () => {
        console.log('音频提取完成:', outputAudioPath)
        resolve(outputAudioPath)
      })
      .on('error', (err) => {
        console.error('音频提取失败:', err)
        reject(err)
      })
      .save(outputAudioPath)
  })
}

module.exports = { extractAudio }